Crate kitsune_p2p

source ·
Expand description

P2p / dht communication framework.

§TLS session key logging

To use a tool like wireshark to debug kitsune QUIC communications, enable keylogging via tuning_param:

tuning_params.danger_tls_keylog = "env_keylog".to_string();

The tuning param by itself will do nothing, you also must specify the file target via the environment variable SSLKEYLOGFILE, e.g.:

SSLKEYLOGFILE="$(pwd)/keylog" my-kitsune-executable

As QUIC support within wireshark is in-progress, you’ll need a newer version. This documentation was tested with version 3.6.2.

Tell wireshark about your keylog file at:

[Edit] -> [Preferences...] -> [Protocols] -> [TLS] -> [(Pre)-Master-Secret log filename]

Your capture should now include QUIC protocol packets, where the Protected Payload variants will be able to display internals, such as STREAM([id]) decrypted content.

Also see https://github.com/quiclog/pcap2qlog

Re-exports§

Modules§

  • Definitions related to the KitsuneP2p peer-to-peer / dht communications actor.
  • Data structures to be stored in the agent/peer database.
  • re-exported dependencies
  • Definitions for events emited from the KitsuneP2p actor.
  • Fixturator definitions for kitsune_p2p.
  • Various gossip strategies for Kitsune.
  • metrics tracked by kitsune_p2p spaces
  • KitsuneP2p Wire Protocol Encoding Decoding

Structs§

Enums§

Constants§

Traits§

  • Kitsune hashes are expected to be 36 bytes. The first 32 bytes are the proper hash. The final 4 bytes are a hash-of-the-hash that can be treated like a u32 “location”.
  • The interface to be implemented by the host, which handles various requests for data

Functions§

  • Spawn a new KitsuneP2p actor.
  • Spawn a new KitsuneP2p actor, using a closure to generate the HostApi. Used for some test cases where the HostApi requires some of the intermediate values created by this function.

Type Aliases§